package Controlador;

import java.rmi.RemoteException;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

import remoto.Proxy;
import xml.ClienteXmlDao;
import dominio.Cliente;
import dominioTO.ClienteTO;
import dominioVO.ClienteVO;

public class ODV {
        private static ODV instancia;
        private List<Cliente> clientes;
        
        public static ODV getInstancia()
        {
                if(instancia==null)
                {
                        instancia = new ODV();
                }
                return instancia;
        }
        
        public ODV()
        {
                clientes = new ArrayList<Cliente>();
                
        }
        
        public void altaCliente(ClienteVO cliVO) throws RemoteException
        {
                if(Proxy.getInstancia().buscarCliente(cliVO.getCuit())==null)
                {
                Cliente cli = new Cliente();
                cli.setCuit(cliVO.getCuit());
                cli.setRazonSocial(cliVO.getRazonSocial());
                cli.setFechaAlta(Date.valueOf("2014-06-07"));
                cli.setDescuentos(cliVO.getDescuentos());
                cli.setRespInscripto(cliVO.isRespInscripto());
                cli.setIngBrutos(cliVO.getIngBrutos());
                cli.setCondPago(cliVO.getCondPago());
                cli.setEstado(true);
                clientes.add(cli);
                
                List<ClienteTO> listCliTO = new ArrayList<ClienteTO>();
                listCliTO.add(cli.getDTO());
                Proxy.getInstancia().persistirCliente(listCliTO);
                }
                
        }
        public void altaClienteXML()
        {
                
                try {
                        List<ClienteTO> listCliTO = ClienteXmlDao.getInstancia().recuperarClientes();
                        Proxy.getInstancia().persistirCliente(listCliTO);
                } catch (RemoteException e) {
                        e.printStackTrace();
                }
        }
        
}